from selenium.webdriver.common.by import By # 操作元素
from selenium import webdriver
from time import sleep
from selenium.webdriver.chrome.service import Service
"""
测试用例：
1、打开百度页面
2、输入菜鸟教程
3、点击第一个链接
4、点击帮助中心
"""
# 指定路径
services1 = Service(r'D:\CloudMusic\chromedriver.exe')
# 初始化driver
driver = webdriver.Chrome(service=services1)
# 打开页面
driver.get("https://www.baidu.com/")
# 浏览器最大化
driver.maximize_window()
# 设置隐式等待
driver.implicitly_wait(15)
# 输入jmeter
driver.find_element(By.ID,"kw").send_keys("菜鸟教程")
# 点击搜索按钮
driver.find_element(By.ID,'su').click()
# 点击出现的第一个链接
driver.find_element(By.XPATH,"//*[@id='1']/div/div[1]/h3/a").click()
# 此时，会出现一个新的窗口，窗口也叫做：句柄，需要手动切换句柄才可以定位到后续的元素
# 获取所有的句柄
wins = driver.window_handles
print(wins) # ['0F9F95F3B28EB96BA2CA704529C2C470', '86A3DE13137E12232F22DB2C3E502A5F']
# 切换到我想要的句柄

driver.switch_to.window(wins[-1])
# 点击HTML教程
# driver.find_element(By.XPATH,"/html/body/div[2]/div[1]/div/div[1]/a/span[1]").click()
driver.find_elements(By.CLASS_NAME,"app-icon")[0].click()
# 切换句柄到最后一个，我要操作的
print(wins)
driver.switch_to.window(driver.window_handles[-1])
# 断言文本内容
text = driver.find_element(By.XPATH,"/html/body/div[2]/div/div[2]/h1").text
assert text =="HTML 基础教程"

# 强制等待，看页面是否通过
sleep(5)